feat: add optional separate GitHub token for runners polling#10
Merged
feat: add optional separate GitHub token for runners polling#10
Conversation
Add support for a separate GitHub token specifically for listing self-hosted runners. This allows using different tokens with different scopes for runner polling vs workflow dispatch. - Add `runners_token` field to GitHubConfig (optional) - If set, runner polling uses `runners_token` - If not set, falls back to main `token` (backward compatible) - Dispatcher always uses main `token` for workflow dispatch - Split GitHub clients in server.go for separation of concerns
Update the status endpoint and UI to display rate limits for both GitHub clients separately when runners_token is configured. - Add runnersClient to API server struct - Create GitHubClientStatus and GitHubClientsStatus response types - Update handleStatus() to return status for both clients - Update TypeScript types for new response structure - Update StatusIndicator to show runners and dispatch rate limits
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
runners_tokenconfig field for listing self-hosted runners separately from the dispatch tokenDetails
When
runners_tokenis configured, the system uses two separate GitHub clients:runners_tokenfor polling runner statustokenfor triggering workflowsIf
runners_tokenis not set, both operations fall back to the maintoken.The
/api/v1/statusendpoint now returns:{ "github": { "runners": { "status": "healthy", "rate_limit_remaining": 4850, ... }, "dispatch": { "status": "healthy", "rate_limit_remaining": 4900, ... } } }Test plan
tokenconfigured - verify both clients show same rate limitstokenandrunners_token- verify separate rate limits shownrunners_tokentoken